www.gusucode.com > 黑白棋 V1.0 试用网络版源代码C++源码程序 > 黑白棋 V1.0 试用网络版源代码/BWChess/03D407_庞长才_PROJECT作业/BWChess钻石版/HelperAPI.cpp
#include "stdafx.h" #include "GlobalVar.h" #include "HelperAPI.h" #include "Message1.h" //实现 "HelperAPI.h" 定义的三个函数 int MsgBox(CString &con,CString &title, int flag) { if(flag==1) { CMessage1 dlg; dlg.SetContent(con); dlg.SetTitle(title); return dlg.DoModal(); } return -1; } int MsgBox(UINT icon,UINT ititle, int flag) { CString con,title; con.LoadString (icon); title.LoadString (ititle); return MsgBox(con,title,flag); } void DynamicShow(CDialog *dlg,int flag)//动态显示窗口 { if(!g_bShowDynamic) return; CRect rc; dlg->GetWindowRect(&rc); time_t t2; t2=time(NULL); srand((unsigned int)t2); int swidth,sheight; int wwidth,wheight; swidth=::GetSystemMetrics(SM_CXSCREEN); sheight=::GetSystemMetrics(SM_CYSCREEN); wwidth=rc.Width(); wheight=rc.Height(); int stepw=1,steph=1; if(wwidth<wheight) { steph=wheight/wwidth+1; } else if(wwidth>wheight) { stepw=wwidth/wheight+1; } int dir=rand()%4; const int disstep=4; int i,j; if(flag) { switch(dir) { case 0: { rc.DeflateRect (0,0,wwidth,wheight); dlg->MoveWindow(&rc); while((rc.Width () <wwidth) || (rc.Height () <wheight) ) { if(rc.Width()<wwidth) i=stepw; else i=0; if(rc.Height ()<wheight ) j=steph; else j=0; rc.InflateRect (0,0,i,j); dlg->MoveWindow(&rc); } } break; case 1: { rc.DeflateRect (wwidth,0,0,wheight); dlg->MoveWindow(&rc); while((rc.Width () <wwidth) || (rc.Height () <wheight) ) { if(rc.Width()<wwidth) i=stepw; else i=0; if(rc.Height ()<wheight ) j=steph; else j=0; rc.InflateRect (i,0,0,j); dlg->MoveWindow(&rc); } } break; case 2: { rc.DeflateRect (0,wheight,wwidth,0); dlg->MoveWindow(&rc); while((rc.Width () <wwidth) || (rc.Height () <wheight) ) { if(rc.Width()<wwidth) i=stepw; else i=0; if(rc.Height ()<wheight ) j=steph; else j=0; rc.InflateRect (0,j,i,0); dlg->MoveWindow(&rc); } } break; case 3: { rc.DeflateRect (wwidth,wheight,0,0); dlg->MoveWindow(&rc); while((rc.Width () <wwidth) || (rc.Height () <wheight) ) { if(rc.Width()<wwidth) i=stepw; else i=0; if(rc.Height ()<wheight ) j=steph; else j=0; rc.InflateRect (i,j,0,0); dlg->MoveWindow(&rc); } } break; } } else { switch(dir) { case 0: { while((rc.Width () >disstep) || (rc.Height () >disstep )) { if(rc.Width()>disstep) i=stepw; else i=0; if(rc.Height ()>disstep) j=steph; else j=0; rc.DeflateRect (0,0,i,j); dlg->MoveWindow(&rc); } } break; case 1: { while((rc.Width () >disstep) || (rc.Height () >disstep) ) { if(rc.Width()>disstep) i=stepw; else i=0; if(rc.Height ()>disstep ) j=steph; else j=0; rc.DeflateRect (i,0,0,j); dlg->MoveWindow(&rc); } } break; case 2: { while((rc.Width () >disstep) || (rc.Height () >disstep) ) { if(rc.Width()>disstep) i=stepw; else i=0; if(rc.Height ()>disstep ) j=steph; else j=0; rc.DeflateRect (0,j,i,0); dlg->MoveWindow(&rc); } } break; case 3: { while((rc.Width () >disstep) || (rc.Height () >disstep) ) { if(rc.Width()>disstep) i=stepw; else i=0; if(rc.Height ()>disstep ) j=steph; else j=0; rc.DeflateRect (i,j,0,0); dlg->MoveWindow(&rc); } } break; } } }